package com.ruoyi.system.domain;

import java.sql.Timestamp;
import java.util.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import net.sf.jsqlparser.expression.DateTimeLiteralExpression.DateTime;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 停车劵统计对象 ds_parking_coupon
 * 
 * @author ruoyi
 * @date 2024-06-13
 */
public class DsParkingCoupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 停车券ID  */
    private Long parkingId;

    /** 序列号 */
    @Excel(name = "序列号")
    private String serialNumber;

    /** 停车券状态：0-未使用，1-已使用，2-已过期 */
    @Excel(name = "停车券状态：0-未使用，1-已使用，2-已过期")
    private Long status;

    /** 发放日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发放日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Timestamp issueDate;

    /** 过期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Timestamp expireDate;

    /** 使用日期（为空表示未使用） */
    @Excel(name = "使用日期", readConverterExp = "为=空表示未使用")
    private Timestamp usedDate;

    /** 商场名称 */
    @Excel(name = "商场名称")
    private String mallName;

    /** 停车时长（单位：小时） */
    @Excel(name = "停车时长", readConverterExp = "单=位：小时")
    private Long duration;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String plateNumber;

    public void setParkingId(Long parkingId) 
    {
        this.parkingId = parkingId;
    }

    public Long getParkingId() 
    {
        return parkingId;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setIssueDate(Timestamp issueDate)
    {
        this.issueDate = issueDate;
    }

    public Timestamp getIssueDate()
    {
        return issueDate;
    }
    public void setExpireDate(Timestamp expireDate)
    {
        this.expireDate = expireDate;
    }

    public Timestamp getExpireDate()
    {
        return expireDate;
    }
    public void setUsedDate(Timestamp usedDate)
    {
        this.usedDate = usedDate;
    }

    public Timestamp getUsedDate()
    {
        return usedDate;
    }
    public void setMallName(String mallName) 
    {
        this.mallName = mallName;
    }

    public String getMallName() 
    {
        return mallName;
    }
    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }
    public void setPlateNumber(String plateNumber) 
    {
        this.plateNumber = plateNumber;
    }

    public String getPlateNumber() 
    {
        return plateNumber;
    }

    public String getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("parkingId", getParkingId())
            .append("serialNumber", getSerialNumber())
            .append("status", getStatus())
            .append("issueDate", getIssueDate())
            .append("expireDate", getExpireDate())
            .append("usedDate", getUsedDate())
            .append("mallName", getMallName())
            .append("duration", getDuration())
            .append("plateNumber", getPlateNumber())
            .toString();
    }
}
